-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Enforce in bootstrap that test must have stage at least 1 (except for compiletest) #145663
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
This PR modifies If appropriate, please update |
@bors try |
Enforce in bootstrap that test must have stage at least 1 (except for compiletest) try-job: dist-x86_64-linux try-job: aarch64-gnu try-job: arm-android try-job: `x86_64-gnu-llvm-20*` try-job: `x86_64-msvc-*` try-job: aarch64-apple
This comment has been minimized.
This comment has been minimized.
This comment was marked as outdated.
This comment was marked as outdated.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@bors try |
This comment has been minimized.
This comment has been minimized.
Enforce in bootstrap that test must have stage at least 1 (except for compiletest) try-job: dist-x86_64-linux try-job: aarch64-gnu try-job: arm-android try-job: `x86_64-gnu-llvm-20*` try-job: `x86_64-msvc-*` try-job: aarch64-apple
This comment has been minimized.
This comment has been minimized.
💔 Test for 06dca67 failed: CI. Failed jobs:
|
@bors try |
This comment has been minimized.
This comment has been minimized.
Enforce in bootstrap that test must have stage at least 1 (except for compiletest) try-job: dist-x86_64-linux try-job: aarch64-gnu try-job: arm-android try-job: `x86_64-gnu-llvm-20*` try-job: `x86_64-msvc-*` try-job: aarch64-apple
This comment has been minimized.
This comment has been minimized.
💔 Test for 71ba459 failed: CI. Failed jobs:
|
This comment has been minimized.
This comment has been minimized.
This PR was rebased onto a different master commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
@bors try |
This comment has been minimized.
This comment has been minimized.
Enforce in bootstrap that test must have stage at least 1 (except for compiletest) try-job: dist-x86_64-linux try-job: aarch64-gnu try-job: arm-android try-job: `x86_64-gnu-llvm-20*` try-job: `x86_64-msvc-*` try-job: aarch64-apple try-job: test-various
Ok, should be ready for a review now. @rustbot ready |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most changes look fine, I do have a question about the lint-docs / compiler doc tests
#[cfg_attr(not(bootstrap), doc = "```")] | ||
#[cfg_attr(bootstrap, doc = "```")] | ||
// ^ Needed to avoid tidy warning about odd number of backticks |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Question: is this because we run doctests on rustc_lint_defs
with a build compiler, which could be a stage 0 rustc which happens to be a beta rustc?
Would this be broken under local-rebuild
if the build compiler happens to be the in-tree compiler that e.g. would know about feature(sanitize)
? Or is that not a supported configuration for this particular case?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually I think that we can remove this now, because in the latest commit I skipped the lint-docs
tests in stage 1, and running them with explicit --stage 1
runs into other failures anyway. I'll try to remove it and see what CI says.
@@ -3023,7 +3136,7 @@ impl Step for CrateRustdocJsonTypes { | |||
); | |||
|
|||
// FIXME: this looks very wrong, libtest doesn't accept `-C` arguments and the quotes are fishy. | |||
let libtest_args = if self.host.contains("musl") { | |||
let libtest_args = if target.contains("musl") { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remark (not for this PR): wait, I think I wrote
// FIXME: this looks very wrong, libtest doesn't accept `-C` arguments and the quotes are fishy.
// We need to run the cranelift tests with the compiler against cranelift links to, not with | ||
// the build compiler. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: I think this meant to say
We need to run the craftlift tests with the compiler that cranelift links against, not with the build compiler
?
[test] Crashes <host> | ||
[build] rustc 0 <host> -> CoverageDump 1 <host> | ||
[build] rustc 1 <host> -> std 1 <host> | ||
[test] CodegenLlvm <host> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remark: ah, compiletest ones are intentionally out of scope.
@@ -234,6 +229,20 @@ impl<'a> LintExtractor<'a> { | |||
// Ignore allow of lints (useful for | |||
// invalid_rust_codeblocks). | |||
continue; | |||
} else if let Some(text) = | |||
line.strip_prefix("#[cfg_attr(not(bootstrap), doc = \"") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Question: wait, is this now needed because the compiler that is used to build and run lint tools might be a different build compiler, versus the compiler under test?
@rustbot author |
This PR cleans up a bunch of test steps and adds metadata to them. I didn't yet touch the most complicated step (
CompileTest
), I'm leaving that for another PR.Testing anything on stage 0 is only possible for compiletest and with
build.allow-compiletest-stage0
. Testing anything else on stage 0 will either produce a nice error or crash with a stage being subtracted below zero.r? @jieyouxu
try-job: dist-x86_64-linux
try-job: aarch64-gnu
try-job: arm-android
try-job:
x86_64-gnu-llvm-20*
try-job:
x86_64-msvc-*
try-job: aarch64-apple
try-job: test-various